package com.itheima.common.constants;

/**
 * Kafka 主题常量
 * 统一管理所有 Kafka Topic 名称
 * 
 * @author itheima
 */
public class KafkaConstants {

    /**
     * Kafka Topics - 审核相关
     */
    public static class AuditTopics {
        /** 笔记审核请求 */
        public static final String NOTE_AUDIT_REQUEST = "note-audit-request";
        
        /** 书评审核请求 */
        public static final String REVIEW_AUDIT_REQUEST = "review-audit-request";
        
        /** 评论审核请求 */
        public static final String COMMENT_AUDIT_REQUEST = "comment-audit-request";
        
        /** 审核结果 */
        public static final String AUDIT_RESULT = "audit-result";
    }

    /**
     * Kafka Topics - 用户行为相关
     */
    public static class BehaviorTopics {
        /** 用户行为原始事件流 */
        public static final String USER_BEHAVIOR = "user-behavior";
        
        /** 图书相关行为事件 */
        public static final String BOOK_BEHAVIOR = "book-behavior";
        
        /** 排行榜更新事件 */
        public static final String RANKING_UPDATE = "ranking-update";
    }

    /**
     * Kafka Topics - 图书管理相关
     */
    public static class BookTopics {
        /** 图书事件（新增、更新、删除） */
        public static final String BOOK_EVENTS = "book-events";
    }

    /**
     * Kafka Consumer Group IDs
     */
    public static class ConsumerGroups {
        /** 任务服务消费者组 */
        public static final String TASK_SERVICE = "task-service";
        
        /** 行为服务消费者组 */
        public static final String BEHAVIOR_SERVICE = "behavior-service";
        
        /** 笔记服务消费者组 */
        public static final String NOTE_SERVICE = "note-service";
        
        /** 书评服务消费者组 */
        public static final String REVIEW_SERVICE = "review-service";
        
        /** 搜索服务消费者组 */
        public static final String SEARCH_SERVICE = "search-service";
    }
}

